import Vue from 'vue'
import App from './App.vue'
import VueMeta from 'vue-meta'

import { createRouter } from './router'
import { createStore } from './store'

Vue.use(VueMeta)

Vue.mixin({
  metaInfo: {
    titleTemplate: '%s - 拉钩教育',
  },
})

// 导出一个工厂函数，用于创建新的
// 应用程序、router 和 store 实例
export function createApp() {
  // 创建 router 实例
  const router = createRouter()
  // 创建 store 实例
  const store = createStore()

  const app = new Vue({
    router, // 把路由挂载到 Vue 根实例中
    store, // 把容器挂载到 Vue 根实例中
    // 根实例简单的渲染应用程序组件。
    render: (h) => h(App),
  })

  // 返回 app 和 router
  return { app, router, store }
}
